/**
 * Description:
 * Class Name:FileTest
 * Date:2022/5/1 15:41
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第15章_输入输出._15_1_File类._15_1_1_访问文件和目录;

import java.io.File;
import java.io.IOException;

public class FileTest {
    public static void main(String[] args) throws IOException {
        var file = new File(".");
        System.out.println(file.getName());
        System.out.println(file.getParent());
        System.out.println(file.getAbsoluteFile());
        System.out.println(file.getAbsoluteFile().getParent());

        // 在当前路径下创建一个临时文件
        File tempFile = File.createTempFile("aaa", ".txt", file);
        // 指定JVM退出时删除该文件
        tempFile.deleteOnExit();
        // 以系统当前时间作为新文件名来创建新文件
        var newFile = new File(System.currentTimeMillis() + "");
        System.out.println("newFile是否存在？--->" + newFile.exists());

        // 以指定newFile对象来创建一个文件
        newFile.createNewFile();
        // 以指定newFile对象来创建一个目录
        newFile.mkdir();

        // 使用list()方法列出当前路径下所有文件和路径
        String[] fileList = file.list();
        System.out.println("====当前路径下所有文件和路径如下====");
        for (var fileName :
                fileList) {
            System.out.println(fileName);
        }

        // 使用listRoots静态方法列出所哟磁盘根路径
        File[] roots = File.listRoots();
        System.out.println("====系统所有根路径如下====");
        for (var root :
                roots) {
            System.out.println(root);
        }
    }
}
